package book_two;

import java.util.Comparator;

interface one_0{
    void show_one_0();
}
interface one_1 extends one_0{
    void show_one_1();
}


class text implements one_1{

    @Override
    public void show_one_0() {

    }

    @Override
    public void show_one_1() {

    }
}
interface one{
    //接口中的成员变量是默认是public final修饰的
    int a = 0;
    public int b = 0;
    public final int c = 0;

    //抽象方法public abstract 是再接口中默认的，你不写也会默认加上给你
    public abstract void show_0();
//    public void show_1();
//    abstract void show_2();
//    void show_3();

    //有方法体的成员方法，非抽象方法 static/default修饰
    static void Show_4() {
        System.out.println("方法 show_4");
    }

    default void show_4() {
        Show_4();
    }
    default void show_5() {
        System.out.println("方法 show_5");
    }

}

class two implements one {

    @Override
    public void show_0() {
        System.out.println("类 two 方法 show_0");
    }

    public void show_self() {
        System.out.println("类 two");
    }
}
class three implements one, Cloneable, Comparator,Comparable{

    @Override
    public void show_0() {
        System.out.println("类 three 方法 show_0");
    }

    @Override
    public int compareTo(Object o) {
        return 0;
    }

    @Override
    public int compare(Object o1, Object o2) {
        return 0;
    }
}
public class book_jiekou {
    public static void main(String[] args) {
        one h = new two();//通过向上转型去用父类调用子类重写的方法
        h.show_0();
        if (h instanceof two) {
            two tmp = (two) h;
            tmp.show_self();
        }
//        h.
            }
}

